home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / gfx / misc / gnuplot-3.7src.lha / gnuplot-3.7src / gnuplot-3.7.lha / gnuplot-3.7 / syscfg.h < prev    next >
C/C++ Source or Header  |  1998-12-18  |  9KB  |  404 lines

  1. /*
  2.  * $Id: $
  3.  *
  4.  */
  5.  
  6. /* GNUPLOT - syscfg.h */
  7.  
  8. /*[
  9.  * Copyright 1986 - 1993, 1998   Thomas Williams, Colin Kelley
  10.  *
  11.  * Permission to use, copy, and distribute this software and its
  12.  * documentation for any purpose with or without fee is hereby granted,
  13.  * provided that the above copyright notice appear in all copies and
  14.  * that both that copyright notice and this permission notice appear
  15.  * in supporting documentation.
  16.  *
  17.  * Permission to modify the software is granted, but not the right to
  18.  * distribute the complete modified source code.  Modifications are to
  19.  * be distributed as patches to the released version.  Permission to
  20.  * distribute binaries produced by compiling modified sources is granted,
  21.  * provided you
  22.  *   1. distribute the corresponding source modifications from the
  23.  *    released version in the form of a patch file along with the binaries,
  24.  *   2. add special version identification to distinguish your version
  25.  *    in addition to the base release version number,
  26.  *   3. provide your name and address as the primary contact for the
  27.  *    support of your modified version, and
  28.  *   4. retain our contact information in regard to use of the base
  29.  *    software.
  30.  * Permission to distribute the released version of the source code along
  31.  * with corresponding source modifications in the form of a patch file is
  32.  * granted with same provisions 2 through 4 for binary distributions.
  33.  *
  34.  * This software is provided "as is" without express or implied warranty
  35.  * to the extent permitted by applicable law.
  36. ]*/
  37.  
  38. /* This header file provides system dependent definitions. New features
  39.  * and platforms should be added here.
  40.  */
  41.  
  42. #ifndef SYSCFG_H
  43. #define SYSCFG_H
  44.  
  45. #ifdef HAVE_CONFIG_H
  46. # include "config.h"
  47. #endif
  48.  
  49. #include "ansichek.h"
  50. #include "stdfn.h"
  51.  
  52. /*
  53.  * Define operating system dependent constants [default value]:
  54.  *
  55.  * OS:       [" "] Name of OS plus trailing space
  56.  * HELPFILE: ["docs/gnuplot.gih"] Location of helpfile - overriden by Makefile
  57.  * HOME:     ["HOME"] Name of environment variable which points to
  58.  *           the directory where gnuplot's config file is found.
  59.  * PLOTRC:   [".gnuplot"] Name of the gnuplot startup file.
  60.  * SHELL:    ["/bin/sh"] Name, and in some cases, full path to the shell
  61.  *           that is used to run external commands.
  62.  * DIRSEP1:  ['/'] Primary character which separates path components.
  63.  * DIRSEP2:  ['\0'] Secondary character which separates path components.
  64.  *        
  65.  */
  66.  
  67. #if defined(AMIGA_SC_6_1) || defined(AMIGA_AC_5) || defined(__amigaos__)
  68. # define OS "Amiga "
  69. # ifndef __amigaos__
  70. #  define HELPFILE "S:gnuplot.gih"
  71. #  define HOME     "GNUPLOT"
  72. #  define SHELL    "NewShell"
  73. #  define DIRSEP2  ':'
  74. # endif
  75. # ifndef AMIGA
  76. #  define AMIGA
  77. # endif
  78. /* Fake S_IFIFO for SAS/C
  79.  * See stdfn.h for details
  80.  */
  81. # ifdef AMIGA_SC_6_1
  82. #  define S_IFIFO S_IREAD
  83. # endif
  84. #endif /* Amiga */
  85.  
  86. #ifdef ATARI
  87. # define OS "TOS "
  88. # define HOME  "GNUPLOT"
  89. # define PLOTRC "gnuplot.ini"
  90. # define SHELL "gulam.prg"
  91. # define DIRSEP1 '\\'
  92. # ifdef MTOS
  93. #  define DIRSEP2 '/'
  94. # endif
  95. /* I hope this is correct ... */
  96. # ifdef __PUREC__
  97. #  define sscanf purec_sscanf
  98. # endif
  99. #endif /* Atari */
  100.  
  101. #ifdef DOS386
  102. # define OS "DOS 386 "
  103. # define HELPFILE "gnuplot.gih"
  104. # define HOME  "GNUPLOT"
  105. # define PLOTRC "gnuplot.ini"
  106. # define DIRSEP1 '\\'
  107. #endif /* DOS386 */
  108.  
  109. #ifdef linux
  110. # define OS "Linux "
  111. #endif /* Linux */
  112.  
  113. #if defined(__NeXT__) && !defined(NEXT)
  114. # define NEXT
  115. #endif /* NeXT */
  116.  
  117. #ifdef OS2
  118. # define OS "OS/2 "
  119. # define HELPFILE "gnuplot.gih"
  120. # define HOME  "GNUPLOT"
  121. # define PLOTRC "gnuplot.ini"
  122. # define SHELL "c:\\os2\\cmd.exe"
  123. # define DIRSEP1 '\\'
  124. # define GP_GETCWD(path,len) _getcwd2 (path, len)
  125. #endif /* OS/2 */
  126.  
  127. #ifdef OSK
  128. # define OS "OS-9 "
  129. # define SHELL "/dd/cmds/shell"
  130. #endif /* OS-9 */
  131.  
  132. #if defined(vms) || defined(VMS)
  133. # ifndef VMS
  134. #  define VMS
  135. # endif
  136. # define OS "VMS "
  137. # define HOME "sys$login:"
  138. # define PLOTRC "gnuplot.ini"
  139. # ifdef NO_GIH
  140.    /* for show version long */
  141. #  define HELPFILE "GNUPLOT$HELP"
  142. # endif
  143. # if !defined(VAXCRTL) && !defined(DECCRTL)
  144. #  error Please /define either VAXCRTL or DECCRTL
  145. # endif
  146. /* avoid some IMPLICITFUNC warnings */
  147. # ifdef __DECC
  148. #  include <starlet.h>
  149. # endif  /* __DECC */
  150. #endif /* VMS */
  151.  
  152. #if defined(_WINDOWS) || defined(_Windows)
  153. # ifndef _Windows
  154. #  define _Windows
  155. # endif
  156. # ifdef WIN32
  157. #  define OS "MS-Windows 32 bit "
  158. /* introduced by Pedro Mendes, prm@aber.ac.uk */
  159. #  define far
  160. /* Fix for broken compiler headers
  161.  * See stdfn.h
  162.  */
  163. #  define S_IFIFO  _S_IFIFO
  164. # else
  165. #  ifndef WIN16
  166. #   define WIN16
  167. #  endif
  168. #  define OS "MS-Windows "
  169. # endif /* WIN32 */
  170. # define HOME  "GNUPLOT"
  171. # define PLOTRC "gnuplot.ini"
  172. # define DIRSEP1 '\\'
  173. #endif /* _WINDOWS */
  174.  
  175. #if defined(MSDOS) && !defined(_Windows)
  176. # if !defined(DOS32) && !defined(DOS16)
  177. #  define DOS16
  178. # endif
  179. # ifdef MTOS
  180. #  define OS "TOS & MiNT & MULTITOS & Magic - "
  181. # endif /* MTOS */
  182. # undef HELPFILE
  183. # define HELPFILE "gnuplot.gih"
  184. # define HOME "GNUPLOT"
  185. # define PLOTRC "gnuplot.ini"
  186. # define OS "MS-DOS "
  187. # define DIRSEP1 '\\'
  188. # ifdef __DJGPP__
  189. #  define DIRSEP2 '/'
  190. # endif
  191. #endif /* MSDOS */
  192.  
  193. /* Note: may not catch all IBM AIX compilers or SCO compilers */
  194. #if defined(__unix__)|| defined(unix) || defined(_AIX) || defined(SCO)
  195. # ifndef unix
  196. #  define unix
  197. # endif
  198. # ifndef OS
  199. #  define OS "Unix "
  200. # endif
  201. #endif /* Unix */
  202.  
  203. /* End OS dependent constants; fall-through defaults
  204.  * for the constants defined above are following.
  205.  */
  206.  
  207. #ifndef OS
  208. # define OS " "
  209. #endif
  210.  
  211. #ifndef HELPFILE
  212. # define HELPFILE "docs/gnuplot.gih"
  213. #endif /* !HELPFILE */
  214.  
  215. #ifndef HOME
  216. # define HOME "HOME"
  217. #endif
  218.  
  219. #ifndef PLOTRC
  220. # define PLOTRC ".gnuplot"
  221. #endif
  222.  
  223. #ifndef SHELL
  224. # define SHELL "/bin/sh"    /* used if SHELL env variable not set */
  225. #endif
  226.  
  227. #ifndef DIRSEP1
  228. # define DIRSEP1 '/'
  229. #endif
  230.  
  231. #ifndef DIRSEP2
  232. # define DIRSEP2 NUL
  233. #endif
  234.  
  235. #ifndef FAQ_LOCATION
  236. # define FAQ_LOCATION "http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/"
  237. #endif
  238.  
  239. #ifndef CONTACT
  240. # define CONTACT "bug-gnuplot@dartmouth.edu"
  241. #endif
  242.  
  243. #ifndef HELPMAIL
  244. # define HELPMAIL "info-gnuplot@dartmouth.edu"
  245. #endif
  246. /* End fall-through defaults */
  247.  
  248. /* Atari stuff. Moved here from command.c, plot2d.c, readline.c */
  249. #if defined(ATARI) || defined(MTOS)
  250. # ifdef __PUREC__
  251. #  include <ext.h>
  252. #  include <tos.h>
  253. #  include <aes.h>
  254. # else
  255. #  include <osbind.h>
  256. #  include <aesbind.h>
  257. #  include <support.h>
  258. # endif                         /* __PUREC__ */
  259. #endif /* ATARI || MTOS */
  260.  
  261.  
  262. /* DOS/Windows stuff. Moved here from command.c */
  263. #if defined(MSDOS) || defined(DOS386)
  264.  
  265. # ifdef DJGPP
  266. #  include <dos.h>
  267. #  include <dir.h>              /* HBB: for setdisk() */
  268. # else
  269. #  include <process.h>
  270. # endif                         /* !DJGPP */
  271.  
  272. # ifdef __ZTC__
  273. #  define HAVE_SLEEP 1
  274. #  define P_WAIT 0
  275.  
  276. # elif defined(__TURBOC__)
  277. #  include <dos.h>        /* for sleep() prototype */
  278. #  ifndef _Windows
  279. #   define HAVE_SLEEP 1
  280. #   include <conio.h>
  281. #   include <dir.h>            /* setdisk() */
  282. #  endif                       /* _Windows */
  283. #  ifdef WIN32
  284. #   define HAVE_SLEEP 1
  285. #  endif
  286.  
  287. # else                         /* must be MSC */
  288. #  if !defined(__EMX__) && !defined(DJGPP)
  289. #   ifdef __MSC__
  290. #    include <direct.h>        /* for _chdrive() */
  291. #   endif                      /* __MSC__ */
  292. #  endif                       /* !__EMX__ && !DJGPP */
  293. # endif                        /* !ZTC */
  294.  
  295. #endif /* MSDOS */
  296.  
  297.  
  298. /* Watcom's compiler; this should probably be somewhere
  299.  * in the Windows section
  300.  */
  301. #ifdef __WATCOMC__
  302. # include <direct.h>
  303. # define HAVE_GETCWD 1
  304. #endif
  305.  
  306.  
  307. /* Misc platforms */
  308. #if defined(apollo) || defined(alliant)
  309. # define NO_LIMITS_H
  310. #endif
  311.  
  312. #ifdef sequent
  313. # define NO_LIMITS_H
  314. # define NO_STRCHR
  315. #endif
  316.  
  317.  
  318. /* Autoconf related stuff
  319.  * Transform autoconf defines to gnuplot coding standards
  320.  * This is only relevant for standard ANSI headers and functions
  321.  */
  322. #ifdef HAVE_CONFIG_H
  323.  
  324. # ifndef HAVE_ERRNO_H
  325. #  define NO_ERRNO_H
  326. # endif
  327.  
  328. # ifndef HAVE_FLOAT_H
  329. #  define NO_FLOAT_H
  330. # endif
  331.  
  332. # ifndef HAVE_LIMITS_H
  333. #  define NO_LIMITS_H 
  334. # endif
  335.  
  336. # ifndef HAVE_LOCALE_H
  337. #  define NO_LOCALE_H 
  338. # endif
  339.  
  340. # ifndef HAVE_MATH_H
  341. #  define NO_MATH_H 
  342. # endif
  343.  
  344. # ifndef HAVE_STDLIB_H
  345. #  define NO_STDLIB_H 
  346. # endif
  347.  
  348. # ifndef HAVE_STRING_H
  349. #  define NO_STRING_H 
  350. # endif
  351.  
  352. # ifndef HAVE_TIME_H
  353. #  define NO_TIME_H 
  354. # endif
  355.  
  356. # ifndef HAVE_SYS_TIME_H
  357. #  define NO_SYS_TIME_H 
  358. # endif
  359.  
  360. # ifndef HAVE_SYS_TYPES_H
  361. #  define NO_SYS_TYPES_H 
  362. # endif
  363.  
  364. # ifndef HAVE_ATEXIT
  365. #  define NO_ATEXIT
  366. # endif
  367.  
  368. # ifndef HAVE_MEMCPY
  369. #  define NO_MEMCPY
  370. # endif
  371.  
  372. # ifndef HAVE_MEMMOVE
  373. #  define NO_MEMMOVE
  374. # endif
  375.  
  376. # ifndef HAVE_MEMSET
  377. #  define NO_MEMSET
  378. # endif
  379.  
  380. # ifndef HAVE_SETVBUF
  381. #  define NO_SETVBUF
  382. # endif
  383.  
  384. # ifndef HAVE_STRERROR
  385. #  define NO_STRERROR
  386. # endif
  387.  
  388. # ifndef HAVE_STRCHR
  389. #  define NO_STRCHR
  390. # endif
  391.  
  392. # ifndef HAVE_STRRCHR
  393. #  define NO_STRRCHR
  394. # endif
  395.  
  396. # ifndef HAVE_STRSTR
  397. #  define NO_STRSTR
  398. # endif
  399.  
  400. #endif /* HAVE_CONFIG_H */
  401. /* End autoconf related stuff */
  402.  
  403. #endif /* !SYSCFG_H */
  404.